package com.crm.common.crm.entity.VO;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 仪表盘vo
 *
 * @author litianyi
 */
@ApiModel("仪表盘")
@Data
public class TeachingDepartmentDashBoardVO {

    @ApiModelProperty("VIP报名数量")
    private VipApplicationsNumber vipApplicationsNumber;

    @ApiModelProperty("复购人数")
    private AfterPurchase afterPurchaseCount;

    @ApiModelProperty("转期人数")
    private Refunding refundingCount;

    @ApiModelProperty("休学人数")
    private SuspensionSchooling suspensionSchoolingCount;

    @ApiModelProperty("重修人数")
    private RelearnData relearnCount;

    @ApiModelProperty("定稿人数")
    private Finalized finalizedCount;

    @ApiModelProperty("派单数据")
    private SendSingleNum sendSingleNum;

    @ApiModelProperty("VIP最终人数")
    private VipFinalNumber vipFinalNumber;

    @Data
    @ApiModel("VIP报名数量")
    public static class VipApplicationsNumber {

        @ApiModelProperty("VIP报名数量")
        private Integer data;

        @ApiModelProperty("VIP转化率")
        private String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }

    @Data
    @ApiModel("复购人数")
    public static class AfterPurchase {

        @ApiModelProperty("复购人数")
        private Integer data;

        @ApiModelProperty("复购率")
        private String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }

    @Data
    @ApiModel("转期人数")
    public static class Refunding {

        @ApiModelProperty("转期人数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }

    @Data
    @ApiModel("休学人数")
    public static class SuspensionSchooling {

        @ApiModelProperty("休学人数")
        private Integer data;

        @ApiModelProperty("休学率")
        private String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }

    @Data
    @ApiModel("重修人数")
    public static class RelearnData {

        @ApiModelProperty("重修人数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }

    @Data
    @ApiModel("定稿人数")
    public static class Finalized {
        @ApiModelProperty("定稿人数")
        private Integer data;

        @ApiModelProperty("定稿成交率")
        private String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }

    @Data
    @ApiModel("派单数据")
    public static class SendSingleNum {
        @ApiModelProperty("总派单数")
        public Integer data;

        @ApiModelProperty("派单成交数")
        public Integer dealData;

        @ApiModelProperty("成交率")
        public String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }

    @Data
    @ApiModel("VIP最终人数")
    public static class VipFinalNumber {
        @ApiModelProperty("VIP最终人数")
        private Integer data;

        @ApiModelProperty("转化率")
        private String rate;

        @ApiModelProperty("销售数据名称")
        private String label;

        @ApiModelProperty("销售标题名称")
        private String title;

        @ApiModelProperty("类型")
        private String type;

        @ApiModelProperty("plaTip: leadsTip")
        private String plaTip;

        @ApiModelProperty("labelValue")
        private Integer labelValue;
    }
}
